const mysql = require('../../connect/index');
const sequelize = mysql.sequelize;
const { DataTypes, INTEGER } = require('sequelize');
const Users = sequelize.define("shop_users",{
    id:{
        type:DataTypes.INTEGER,
        allowNull:false,
        primaryKey:true,
        autoIncrement:true
    },
    school:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    openid:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    nickname:{
        type:DataTypes.STRING,
        allowNull:false,
    }
}, {
    freezeTableName: true, // 禁用表名复数化
    tableName: 'shop_users',
    timestamps: false,  // 禁用 createdAt 和 updatedAt 字段
    createdAt: 'ctime',
    updatedAt: 'utime'
});

const UsersData = sequelize.define("shop_users_info",{
    id:{
        type:DataTypes.INTEGER,
        allowNull:false,
        primaryKey:true,
        autoIncrement:true
    },
    school:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    openid:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    address:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    contract:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    phone:{
        type:DataTypes.STRING,
        allowNull:false,
    },
    userid:{
        type:DataTypes.STRING,
        allowNull:false,
    }
}, {
    freezeTableName: true, // 禁用表名复数化
    tableName: 'shop_users_info',
    parentId: Users.id,
    timestamps: false,  // 禁用 createdAt 和 updatedAt 字段
    createdAt: 'ctime',
    updatedAt: false
});

Users.hasMany(UsersData, {
    foreignKey: 'userid'
});
UsersData.belongsTo(Users);

module.exports = {
    Users,
    UsersData
};
